Public Blockchains are open for all and hence the chances of cyber-
attacks as well as many other threats are to be addressed before it is
eligible for production.
1.7.1 Double Spending
Unlike the fiat/physical cash, which cannot be spent twice, one can
play with the crypto-currencies trying to spend the same money
twice in a quick succession. Let’s explain this with an example.
Tom and Harry agree to do a transaction worth $10 where Tom has
to pay Harry the amount. Tom and Laura too agree for another
transaction worth $10 where Tom has to pay Laura the amount.
But Tom only has $10 in his account. He first sends the money to
Harry. We already saw that the transaction is evaluated by the
miners and it takes some time to get confirmed. But before the
confirmation, he sends the amount again to Laura. So, now we have
two unconfirmed transactions in the pool. Such a type of fraud is
called double spending.
In order to avoid this, Blockchain keeps a timestamp of each
transaction. So, for the sender to revert the first transaction and send
it again, he needs to tamper with the Blockchain data by altering the
whole chain, considering the fact that the hashes are saved in the
following blocks, which is next to impossible.
1.7.2 Sybil Attack
Figure 1.9 illustrates a sybil attack, where a hacker somehow gets
the access to multiple nodes instead of one in a public Blockchain,
and tries to manipulate the control of the network, as shown as
follows: